package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 咨询优惠券对象 p_ask_coupon
 *
 * @author ruoyi
 * @date 2022-07-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("p_ask_coupon")
public class PAskCoupon extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 优惠券表ID
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 优惠券名称
     */
    @ApiModelProperty(value = "优惠券名称")
    private String name;
    /**
     * 兑换的优惠券面值
     */
    @ApiModelProperty(value = "兑换的优惠券面值")
    private BigDecimal money;
    /**
     * 是否限量, 默认0 不限量， 1限量
     */
    private String isLimited;
    /**
     * 发放总数
     */
    @ApiModelProperty(value = "发送总数")
    private Integer total;
    /**
     * 剩余数量
     */
    @ApiModelProperty(value = "剩余数量")
    private Integer lastTotal;
    /**
     * 使用类型 0 全场通用, 1 商品券, 2 咨询券
     */
    @ApiModelProperty(value = "使用类型 0 全场通用, 1 商品券, 2 咨询券")
    private String useType;
    /**
     * 所属商品id / 分类id
     */
    private Long primaryKey;
    /**
     * 最低消费，0代表不限制
     */
    private BigDecimal minPrice;
    /**
     * 可领取开始时间
     */
    private Date receiveStartTime;
    /**
     * 可领取结束时间
     */
    private Date receiveEndTime;
    /**
     * 是否固定使用时间, 默认0 否， 1是
     */
    private String isFixedTime;
    /**
     * 可使用时间范围 开始时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date useStartTime;
    /**
     * 可使用时间范围 结束时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date useEndTime;
    /**
     * 天数
     */
    private Integer day;
    /**
     * 优惠券类型  0 手动领取 1 新人券 2 赠送券
     */
    @ApiModelProperty(value = "优惠券类型  0 手动领取 1 新人券 2 赠送券")
    private String type;
    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Long sort;
    /**
     * 状态（0：关闭，1：开启）
     */
    @ApiModelProperty(value = "状态 0 关闭 1 开启")
    private String status;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic
    private String delFlag;

}
